草庐IT

android VideoView增加缓冲

全部标签

c# - 如何在 Open XML SDK 中有效地缓冲和刷新流

我使用OpenXMLSDK2.0生成包含大量数据的Excel文件,大约。1000000行,我需要优化内存使用,因为我的机器速度非常快。我想通过在运行时将生成的DOM树的一部分刷新到文件中来解决这个问题。我为数据制作自己的缓冲。例如,我有100000条记录要写入,当我将1000行添加到Excel工作表时,我希望将流刷新到文件中。我通过使用方法worksheetPart.Worksheet.Save()来实现。文档说这个方法Save():“将DOM树中的数据保存回部件。它也可以被调用多次。每次调用时,流都会被刷新。”foreach(RecordmindataList){Rowcontent

c# - 在我的 C# 应用程序中禁用 Windows 字体大小增加

我用C#构建了一个非常特定大小的Windows应用程序。我对表单的大小进行了硬编码,以使其无法调整大小。问题是当有人将窗口设置更改为字体大小(例如,125%或150%)时,我的应用程序中断并且按钮被移动,并且东西从屏幕上掉下来。整个应用程序一团糟。在C#中有没有一种方法可以禁用Windows的自定义字体效果并使用我告诉它在我的表单中使用的预设字体。我希望在我的应用程序中将所有Windows自定义功能设置为默认功能。这是否可能,例如导入DLL并调用函数或以某种方式更改我的program.cs。 最佳答案 不要那样做。编写您的应用程序,

windows - 在窗口调整大小时调整 Powershell 屏幕缓冲区的大小

当我在窗口化、最大化和半屏之间切换Powershell(例如Win+Left)时,我仍然受到在控制台属性(在布局下),它所做的只是显示/隐藏滚动条。有没有办法让它自动调整缓冲区大小?如果它可以优雅地处理Vim或SSH中的问题,则可加分,但我不会抱太大希望。 最佳答案 尝试将其保存为Console-sizing.ps1(我在原始的powershell控制台中使用它,不知道在VIM或SSH或其他控制台中是否有效!)functionSize($w,$h){New-ObjectSystem.Management.Automation.Hos

c - 确定 C 中 RegQueryValueEx 所需的缓冲区大小

是否有具体的方法来确定C中RegQueryValueEx的REG_BINARY值所需的确切缓冲区大小?如果可能,请提供代码演示方法。 最佳答案 执行winAPI双重调用舞蹈,它适用于除Reg函数之外的众多winAPI:调用RegQueryValueEx一次,将NULL作为lpData传递,并传递指向lpcpData的指针,args5和6。该函数将返回ERROR_SUCCESS并填充lpcpData具有所需的缓冲区大小。使用该大小的缓冲区再次调用。您也可以从传递缓冲区开始,如果它太小,函数将返回ERROR_MORE_DATA并用所需的

c - C 和 Windows GDI 中的双缓冲*框架*

背景:我的客户有一个非常广泛的专有表单库,它在C中有效地实现(实际上,它是一种专有的面向对象的语言,基本上包装Windows控件并与它们交互SendMessage()、SetStyle()等)我要解决的问题:每当我在上述框架中实现的应用程序中拖动/调整顶层窗口(或拖动拆分器)时,都会出现大量闪烁。顶层窗口被重新绘制,它包含的任何控件都会重新绘制。问题1:有没有办法通过外科手术将双缓冲引入表单库。特别是,我想知道是否可以使用标准WindowsGDI函数实现双缓冲。例如,如果我可以使顶层窗口进行双缓冲,这样顶层窗口的所有子窗口也自动进行双缓冲绘制。一个更好的选择是能够在任意窗口上引入双缓冲

c++ - 在 Windows 上增加 io 优先级?

原来我的生产者函数只会写入数据,现在我有第二个线程负责写入数据。生产者函数将memcpy写入循环缓冲区并触发消费者线程开始写入。当我使用2线程方案时,我获得了所需的线程隔离、程序稳定性和写入前可变计算的能力——但io性能降低了50%。我的理论是,可以为每个我想要调整的线程设置某种优先级。这可能吗?我在RAID0数据剥离配置中使用2个SSD。 最佳答案 “io性能降低50%”是什么意思?根据您的资源监视器,它已达到最高:磁盘队列已满,磁盘事件时间为100%。如果您的意思是写入速度跳跃-它们与任何可能的线程优先级无关。它们是由文件碎片引

windows - 将数据放回套接字缓冲区

简短的问题,在这里或在Google上似乎没有找到任何有用的信息:在Winsock2API中,当您使用recv()检索数据时,是否可以将数据放回套接字内部缓冲区中例如,这似乎从未真正从缓冲区中读取过? 最佳答案 不,不可能将数据注入(inject)回套接字的内部缓冲区。要么使用MSG_PEEK标志来读取数据而不将其从套接字的缓冲区中删除,要么将套接字数据读入您自己的缓冲区,然后对缓冲区做任何您想做的事情。您可以让您的读取I/O逻辑始终首先在您的缓冲区中查找数据,然后仅当您的缓冲区没有足够的数据来满足读取操作时才从套接字中读取更多数据。

c - Winsock UDP 套接字接收缓冲区利用率

我已经建立了一个UDP套接字:receiveSocket=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);然后我修改套接字参数以使用大于默认缓冲区(例如100,000字节):bufferSize=100000;bufferSizeLen=sizeof(bufferSize);setsockopt(receiveSocket,SOL_SOCKET,SO_RCVBUF,(char*)&bufferSize,bufferSizeLen);稍后,我想查询套接字以了解缓冲区中当前存储了多少数据(即有多少数据报等待通过调用recv()检索).有办法吗?

java - 增加 Windows 命令参数的大小限制

我正在ProgrammingPuzzles&CodeGolf上举办比赛称为GoodVersusEvil.当我写这个挑战时,我没有预料到我现在有50多个提交。我现在必须以某种方式发送一个略大于58,000个字符的Windows命令,我预计这个数字会增加。这可能吗?我用来执行其他提交的代码如下(在Java中):proc=Runtime.getRuntime().exec(command+""+history);command类似于pythonangel.py或cscript//nologoPiHart.vbshistory是超出Windows处理能力的争论当命令加上历史记录超过大约32,0

windows - NASM ReadConsoleA 或 WriteConsoleA 缓冲区调试问题

我正在Windows上编写一个NASM汇编程序,让用户输入两个单位数字,将它们相加,然后输出结果。我正在尝试使用WindowsAPI进行输入和输出。不幸的是,虽然我可以让它在程序循环后立即读取一个数字以获得第二个值,但程序结束而不是要求第二个值。程序的输出如下所示:有趣的是,如果我输入1,那么显示的值会大一个,所以它正在添加一些东西!这也适用于输入的其他个位数(2-9)。我很确定这与我使用ReadConsoleA函数的方式有关,但我在尝试寻找解决方案时遇到了一些障碍。我安装了gdb来调试程序,组装如下:nasm-fwin64-g-otask9.objtask9.asmGoLink/co